package com.zhc.dejingapi.handler;

/**
 * @Author:zhc
 * @Date:2022/11/6-16:40
 * @Description:com.zhc.handler
 * @version: 1.0
 */

import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
import org.apache.ibatis.reflection.MetaObject;
import org.springframework.stereotype.Component;

import java.util.Date;

/**
 *
 */
@Component
public class MyMetaObjectHandler implements MetaObjectHandler {
    /**
     * 插入元对象字段填充（用于插入时对公共字段的填充）
     *
     * @param metaObject 元对象
     */
    @Override
    public void insertFill(MetaObject metaObject) {
        this.setFieldValByName("createTime", new Date(), metaObject);
        this.setFieldValByName("updateTime", new Date(), metaObject);
        this.setFieldValByName("bootTime", new Date(), metaObject);
        this.setFieldValByName("alarmStartTime", new Date(), metaObject);
        this.setFieldValByName("standbyStartTime", new Date(), metaObject);
        this.setFieldValByName("startTime", new Date(), metaObject);
        this.setFieldValByName("powerOffStartTime", new Date(), metaObject);
        this.setFieldValByName("powerOnStartTime", new Date(), metaObject);
        this.setFieldValByName("addStatus", 0, metaObject);

    }

    /**
     * 更新元对象字段填充（用于更新时对公共字段的填充）
     *
     * @param metaObject 元对象
     */
    @Override
    public void updateFill(MetaObject metaObject) {
        this.setFieldValByName("updateTime", new Date(), metaObject);
        this.setFieldValByName("shutdownTime", new Date(), metaObject);
        this.setFieldValByName("alarmEndTime", new Date(), metaObject);
        this.setFieldValByName("standbyEndTime", new Date(), metaObject);
        this.setFieldValByName("endTime", new Date(), metaObject);
        this.setFieldValByName("powerOffEndTime", new Date(), metaObject);
        this.setFieldValByName("powerOnEndTime", new Date(), metaObject);

    }
}
